1 module gles.gl31;
2 
3 version(GLES31):
4 import core.stdc.config;
5 
6 extern (C):
7 
8 enum __gl31_h_ = 1;
9 
10 /*
11 ** Copyright (c) 2013-2016 The Khronos Group Inc.
12 **
13 ** Permission is hereby granted, free of charge, to any person obtaining a
14 ** copy of this software and/or associated documentation files (the
15 ** "Materials"), to deal in the Materials without restriction, including
16 ** without limitation the rights to use, copy, modify, merge, publish,
17 ** distribute, sublicense, and/or sell copies of the Materials, and to
18 ** permit persons to whom the Materials are furnished to do so, subject to
19 ** the following conditions:
20 **
21 ** The above copyright notice and this permission notice shall be included
22 ** in all copies or substantial portions of the Materials.
23 **
24 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
27 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
28 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
29 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
30 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
31 */
32 /*
33 ** This header is generated from the Khronos OpenGL / OpenGL ES XML
34 ** API Registry. The current version of the Registry, generator scripts
35 ** used to make the header, and the header can be found at
36 **   http://www.opengl.org/registry/
37 **
38 ** Khronos $Revision$ on $Date$
39 */
40 
41 enum GL_GLES_PROTOTYPES = 1;
42 
43 /* Generated on date 20161024 */
44 
45 /* Generated C header for:
46  * API: gles2
47  * Profile: common
48  * Versions considered: 2\.[0-9]|3\.[01]
49  * Versions emitted: .*
50  * Default extensions included: None
51  * Additional extensions included: _nomatch_^
52  * Extensions removed: _nomatch_^
53  */
54 
55 enum GL_ES_VERSION_2_0 = 1;
56 
57 alias GLbyte = byte;
58 alias GLclampf = float;
59 alias GLfixed = int;
60 alias GLshort = short;
61 alias GLushort = ushort;
62 alias GLvoid = void;
63 struct __GLsync;
64 alias GLsync = __GLsync*;
65 alias GLint64 = long;
66 alias GLuint64 = ulong;
67 alias GLenum = uint;
68 alias GLuint = uint;
69 alias GLchar = char;
70 alias GLfloat = float;
71 alias GLsizeiptr = c_long;
72 alias GLintptr = c_long;
73 alias GLbitfield = uint;
74 alias GLint = int;
75 alias GLboolean = ubyte;
76 alias GLsizei = int;
77 alias GLubyte = ubyte;
78 enum GL_DEPTH_BUFFER_BIT = 0x00000100;
79 enum GL_STENCIL_BUFFER_BIT = 0x00000400;
80 enum GL_COLOR_BUFFER_BIT = 0x00004000;
81 enum GL_FALSE = 0;
82 enum GL_TRUE = 1;
83 enum GL_POINTS = 0x0000;
84 enum GL_LINES = 0x0001;
85 enum GL_LINE_LOOP = 0x0002;
86 enum GL_LINE_STRIP = 0x0003;
87 enum GL_TRIANGLES = 0x0004;
88 enum GL_TRIANGLE_STRIP = 0x0005;
89 enum GL_TRIANGLE_FAN = 0x0006;
90 enum GL_ZERO = 0;
91 enum GL_ONE = 1;
92 enum GL_SRC_COLOR = 0x0300;
93 enum GL_ONE_MINUS_SRC_COLOR = 0x0301;
94 enum GL_SRC_ALPHA = 0x0302;
95 enum GL_ONE_MINUS_SRC_ALPHA = 0x0303;
96 enum GL_DST_ALPHA = 0x0304;
97 enum GL_ONE_MINUS_DST_ALPHA = 0x0305;
98 enum GL_DST_COLOR = 0x0306;
99 enum GL_ONE_MINUS_DST_COLOR = 0x0307;
100 enum GL_SRC_ALPHA_SATURATE = 0x0308;
101 enum GL_FUNC_ADD = 0x8006;
102 enum GL_BLEND_EQUATION = 0x8009;
103 enum GL_BLEND_EQUATION_RGB = 0x8009;
104 enum GL_BLEND_EQUATION_ALPHA = 0x883D;
105 enum GL_FUNC_SUBTRACT = 0x800A;
106 enum GL_FUNC_REVERSE_SUBTRACT = 0x800B;
107 enum GL_BLEND_DST_RGB = 0x80C8;
108 enum GL_BLEND_SRC_RGB = 0x80C9;
109 enum GL_BLEND_DST_ALPHA = 0x80CA;
110 enum GL_BLEND_SRC_ALPHA = 0x80CB;
111 enum GL_CONSTANT_COLOR = 0x8001;
112 enum GL_ONE_MINUS_CONSTANT_COLOR = 0x8002;
113 enum GL_CONSTANT_ALPHA = 0x8003;
114 enum GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004;
115 enum GL_BLEND_COLOR = 0x8005;
116 enum GL_ARRAY_BUFFER = 0x8892;
117 enum GL_ELEMENT_ARRAY_BUFFER = 0x8893;
118 enum GL_ARRAY_BUFFER_BINDING = 0x8894;
119 enum GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
120 enum GL_STREAM_DRAW = 0x88E0;
121 enum GL_STATIC_DRAW = 0x88E4;
122 enum GL_DYNAMIC_DRAW = 0x88E8;
123 enum GL_BUFFER_SIZE = 0x8764;
124 enum GL_BUFFER_USAGE = 0x8765;
125 enum GL_CURRENT_VERTEX_ATTRIB = 0x8626;
126 enum GL_FRONT = 0x0404;
127 enum GL_BACK = 0x0405;
128 enum GL_FRONT_AND_BACK = 0x0408;
129 enum GL_TEXTURE_2D = 0x0DE1;
130 enum GL_CULL_FACE = 0x0B44;
131 enum GL_BLEND = 0x0BE2;
132 enum GL_DITHER = 0x0BD0;
133 enum GL_STENCIL_TEST = 0x0B90;
134 enum GL_DEPTH_TEST = 0x0B71;
135 enum GL_SCISSOR_TEST = 0x0C11;
136 enum GL_POLYGON_OFFSET_FILL = 0x8037;
137 enum GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
138 enum GL_SAMPLE_COVERAGE = 0x80A0;
139 enum GL_NO_ERROR = 0;
140 enum GL_INVALID_ENUM = 0x0500;
141 enum GL_INVALID_VALUE = 0x0501;
142 enum GL_INVALID_OPERATION = 0x0502;
143 enum GL_OUT_OF_MEMORY = 0x0505;
144 enum GL_CW = 0x0900;
145 enum GL_CCW = 0x0901;
146 enum GL_LINE_WIDTH = 0x0B21;
147 enum GL_ALIASED_POINT_SIZE_RANGE = 0x846D;
148 enum GL_ALIASED_LINE_WIDTH_RANGE = 0x846E;
149 enum GL_CULL_FACE_MODE = 0x0B45;
150 enum GL_FRONT_FACE = 0x0B46;
151 enum GL_DEPTH_RANGE = 0x0B70;
152 enum GL_DEPTH_WRITEMASK = 0x0B72;
153 enum GL_DEPTH_CLEAR_VALUE = 0x0B73;
154 enum GL_DEPTH_FUNC = 0x0B74;
155 enum GL_STENCIL_CLEAR_VALUE = 0x0B91;
156 enum GL_STENCIL_FUNC = 0x0B92;
157 enum GL_STENCIL_FAIL = 0x0B94;
158 enum GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95;
159 enum GL_STENCIL_PASS_DEPTH_PASS = 0x0B96;
160 enum GL_STENCIL_REF = 0x0B97;
161 enum GL_STENCIL_VALUE_MASK = 0x0B93;
162 enum GL_STENCIL_WRITEMASK = 0x0B98;
163 enum GL_STENCIL_BACK_FUNC = 0x8800;
164 enum GL_STENCIL_BACK_FAIL = 0x8801;
165 enum GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
166 enum GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
167 enum GL_STENCIL_BACK_REF = 0x8CA3;
168 enum GL_STENCIL_BACK_VALUE_MASK = 0x8CA4;
169 enum GL_STENCIL_BACK_WRITEMASK = 0x8CA5;
170 enum GL_VIEWPORT = 0x0BA2;
171 enum GL_SCISSOR_BOX = 0x0C10;
172 enum GL_COLOR_CLEAR_VALUE = 0x0C22;
173 enum GL_COLOR_WRITEMASK = 0x0C23;
174 enum GL_UNPACK_ALIGNMENT = 0x0CF5;
175 enum GL_PACK_ALIGNMENT = 0x0D05;
176 enum GL_MAX_TEXTURE_SIZE = 0x0D33;
177 enum GL_MAX_VIEWPORT_DIMS = 0x0D3A;
178 enum GL_SUBPIXEL_BITS = 0x0D50;
179 enum GL_RED_BITS = 0x0D52;
180 enum GL_GREEN_BITS = 0x0D53;
181 enum GL_BLUE_BITS = 0x0D54;
182 enum GL_ALPHA_BITS = 0x0D55;
183 enum GL_DEPTH_BITS = 0x0D56;
184 enum GL_STENCIL_BITS = 0x0D57;
185 enum GL_POLYGON_OFFSET_UNITS = 0x2A00;
186 enum GL_POLYGON_OFFSET_FACTOR = 0x8038;
187 enum GL_TEXTURE_BINDING_2D = 0x8069;
188 enum GL_SAMPLE_BUFFERS = 0x80A8;
189 enum GL_SAMPLES = 0x80A9;
190 enum GL_SAMPLE_COVERAGE_VALUE = 0x80AA;
191 enum GL_SAMPLE_COVERAGE_INVERT = 0x80AB;
192 enum GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
193 enum GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3;
194 enum GL_DONT_CARE = 0x1100;
195 enum GL_FASTEST = 0x1101;
196 enum GL_NICEST = 0x1102;
197 enum GL_GENERATE_MIPMAP_HINT = 0x8192;
198 enum GL_BYTE = 0x1400;
199 enum GL_UNSIGNED_BYTE = 0x1401;
200 enum GL_SHORT = 0x1402;
201 enum GL_UNSIGNED_SHORT = 0x1403;
202 enum GL_INT = 0x1404;
203 enum GL_UNSIGNED_INT = 0x1405;
204 enum GL_FLOAT = 0x1406;
205 enum GL_FIXED = 0x140C;
206 enum GL_DEPTH_COMPONENT = 0x1902;
207 enum GL_ALPHA = 0x1906;
208 enum GL_RGB = 0x1907;
209 enum GL_RGBA = 0x1908;
210 enum GL_LUMINANCE = 0x1909;
211 enum GL_LUMINANCE_ALPHA = 0x190A;
212 enum GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033;
213 enum GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034;
214 enum GL_UNSIGNED_SHORT_5_6_5 = 0x8363;
215 enum GL_FRAGMENT_SHADER = 0x8B30;
216 enum GL_VERTEX_SHADER = 0x8B31;
217 enum GL_MAX_VERTEX_ATTRIBS = 0x8869;
218 enum GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB;
219 enum GL_MAX_VARYING_VECTORS = 0x8DFC;
220 enum GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
221 enum GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
222 enum GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872;
223 enum GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
224 enum GL_SHADER_TYPE = 0x8B4F;
225 enum GL_DELETE_STATUS = 0x8B80;
226 enum GL_LINK_STATUS = 0x8B82;
227 enum GL_VALIDATE_STATUS = 0x8B83;
228 enum GL_ATTACHED_SHADERS = 0x8B85;
229 enum GL_ACTIVE_UNIFORMS = 0x8B86;
230 enum GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87;
231 enum GL_ACTIVE_ATTRIBUTES = 0x8B89;
232 enum GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A;
233 enum GL_SHADING_LANGUAGE_VERSION = 0x8B8C;
234 enum GL_CURRENT_PROGRAM = 0x8B8D;
235 enum GL_NEVER = 0x0200;
236 enum GL_LESS = 0x0201;
237 enum GL_EQUAL = 0x0202;
238 enum GL_LEQUAL = 0x0203;
239 enum GL_GREATER = 0x0204;
240 enum GL_NOTEQUAL = 0x0205;
241 enum GL_GEQUAL = 0x0206;
242 enum GL_ALWAYS = 0x0207;
243 enum GL_KEEP = 0x1E00;
244 enum GL_REPLACE = 0x1E01;
245 enum GL_INCR = 0x1E02;
246 enum GL_DECR = 0x1E03;
247 enum GL_INVERT = 0x150A;
248 enum GL_INCR_WRAP = 0x8507;
249 enum GL_DECR_WRAP = 0x8508;
250 enum GL_VENDOR = 0x1F00;
251 enum GL_RENDERER = 0x1F01;
252 enum GL_VERSION = 0x1F02;
253 enum GL_EXTENSIONS = 0x1F03;
254 enum GL_NEAREST = 0x2600;
255 enum GL_LINEAR = 0x2601;
256 enum GL_NEAREST_MIPMAP_NEAREST = 0x2700;
257 enum GL_LINEAR_MIPMAP_NEAREST = 0x2701;
258 enum GL_NEAREST_MIPMAP_LINEAR = 0x2702;
259 enum GL_LINEAR_MIPMAP_LINEAR = 0x2703;
260 enum GL_TEXTURE_MAG_FILTER = 0x2800;
261 enum GL_TEXTURE_MIN_FILTER = 0x2801;
262 enum GL_TEXTURE_WRAP_S = 0x2802;
263 enum GL_TEXTURE_WRAP_T = 0x2803;
264 enum GL_TEXTURE = 0x1702;
265 enum GL_TEXTURE_CUBE_MAP = 0x8513;
266 enum GL_TEXTURE_BINDING_CUBE_MAP = 0x8514;
267 enum GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
268 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
269 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
270 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
271 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
272 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
273 enum GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
274 enum GL_TEXTURE0 = 0x84C0;
275 enum GL_TEXTURE1 = 0x84C1;
276 enum GL_TEXTURE2 = 0x84C2;
277 enum GL_TEXTURE3 = 0x84C3;
278 enum GL_TEXTURE4 = 0x84C4;
279 enum GL_TEXTURE5 = 0x84C5;
280 enum GL_TEXTURE6 = 0x84C6;
281 enum GL_TEXTURE7 = 0x84C7;
282 enum GL_TEXTURE8 = 0x84C8;
283 enum GL_TEXTURE9 = 0x84C9;
284 enum GL_TEXTURE10 = 0x84CA;
285 enum GL_TEXTURE11 = 0x84CB;
286 enum GL_TEXTURE12 = 0x84CC;
287 enum GL_TEXTURE13 = 0x84CD;
288 enum GL_TEXTURE14 = 0x84CE;
289 enum GL_TEXTURE15 = 0x84CF;
290 enum GL_TEXTURE16 = 0x84D0;
291 enum GL_TEXTURE17 = 0x84D1;
292 enum GL_TEXTURE18 = 0x84D2;
293 enum GL_TEXTURE19 = 0x84D3;
294 enum GL_TEXTURE20 = 0x84D4;
295 enum GL_TEXTURE21 = 0x84D5;
296 enum GL_TEXTURE22 = 0x84D6;
297 enum GL_TEXTURE23 = 0x84D7;
298 enum GL_TEXTURE24 = 0x84D8;
299 enum GL_TEXTURE25 = 0x84D9;
300 enum GL_TEXTURE26 = 0x84DA;
301 enum GL_TEXTURE27 = 0x84DB;
302 enum GL_TEXTURE28 = 0x84DC;
303 enum GL_TEXTURE29 = 0x84DD;
304 enum GL_TEXTURE30 = 0x84DE;
305 enum GL_TEXTURE31 = 0x84DF;
306 enum GL_ACTIVE_TEXTURE = 0x84E0;
307 enum GL_REPEAT = 0x2901;
308 enum GL_CLAMP_TO_EDGE = 0x812F;
309 enum GL_MIRRORED_REPEAT = 0x8370;
310 enum GL_FLOAT_VEC2 = 0x8B50;
311 enum GL_FLOAT_VEC3 = 0x8B51;
312 enum GL_FLOAT_VEC4 = 0x8B52;
313 enum GL_INT_VEC2 = 0x8B53;
314 enum GL_INT_VEC3 = 0x8B54;
315 enum GL_INT_VEC4 = 0x8B55;
316 enum GL_BOOL = 0x8B56;
317 enum GL_BOOL_VEC2 = 0x8B57;
318 enum GL_BOOL_VEC3 = 0x8B58;
319 enum GL_BOOL_VEC4 = 0x8B59;
320 enum GL_FLOAT_MAT2 = 0x8B5A;
321 enum GL_FLOAT_MAT3 = 0x8B5B;
322 enum GL_FLOAT_MAT4 = 0x8B5C;
323 enum GL_SAMPLER_2D = 0x8B5E;
324 enum GL_SAMPLER_CUBE = 0x8B60;
325 enum GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
326 enum GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
327 enum GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
328 enum GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
329 enum GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
330 enum GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
331 enum GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
332 enum GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A;
333 enum GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B;
334 enum GL_COMPILE_STATUS = 0x8B81;
335 enum GL_INFO_LOG_LENGTH = 0x8B84;
336 enum GL_SHADER_SOURCE_LENGTH = 0x8B88;
337 enum GL_SHADER_COMPILER = 0x8DFA;
338 enum GL_SHADER_BINARY_FORMATS = 0x8DF8;
339 enum GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9;
340 enum GL_LOW_FLOAT = 0x8DF0;
341 enum GL_MEDIUM_FLOAT = 0x8DF1;
342 enum GL_HIGH_FLOAT = 0x8DF2;
343 enum GL_LOW_INT = 0x8DF3;
344 enum GL_MEDIUM_INT = 0x8DF4;
345 enum GL_HIGH_INT = 0x8DF5;
346 enum GL_FRAMEBUFFER = 0x8D40;
347 enum GL_RENDERBUFFER = 0x8D41;
348 enum GL_RGBA4 = 0x8056;
349 enum GL_RGB5_A1 = 0x8057;
350 enum GL_RGB565 = 0x8D62;
351 enum GL_DEPTH_COMPONENT16 = 0x81A5;
352 enum GL_STENCIL_INDEX8 = 0x8D48;
353 enum GL_RENDERBUFFER_WIDTH = 0x8D42;
354 enum GL_RENDERBUFFER_HEIGHT = 0x8D43;
355 enum GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
356 enum GL_RENDERBUFFER_RED_SIZE = 0x8D50;
357 enum GL_RENDERBUFFER_GREEN_SIZE = 0x8D51;
358 enum GL_RENDERBUFFER_BLUE_SIZE = 0x8D52;
359 enum GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53;
360 enum GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54;
361 enum GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55;
362 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
363 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
364 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
365 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
366 enum GL_COLOR_ATTACHMENT0 = 0x8CE0;
367 enum GL_DEPTH_ATTACHMENT = 0x8D00;
368 enum GL_STENCIL_ATTACHMENT = 0x8D20;
369 enum GL_NONE = 0;
370 enum GL_FRAMEBUFFER_COMPLETE = 0x8CD5;
371 enum GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
372 enum GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
373 enum GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9;
374 enum GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
375 enum GL_FRAMEBUFFER_BINDING = 0x8CA6;
376 enum GL_RENDERBUFFER_BINDING = 0x8CA7;
377 enum GL_MAX_RENDERBUFFER_SIZE = 0x84E8;
378 enum GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506;
379 alias PFNGLACTIVETEXTUREPROC = void function (GLenum texture);
380 alias PFNGLATTACHSHADERPROC = void function (GLuint program, GLuint shader);
381 alias PFNGLBINDATTRIBLOCATIONPROC = void function (GLuint program, GLuint index, const(GLchar)* name);
382 alias PFNGLBINDBUFFERPROC = void function (GLenum target, GLuint buffer);
383 alias PFNGLBINDFRAMEBUFFERPROC = void function (GLenum target, GLuint framebuffer);
384 alias PFNGLBINDRENDERBUFFERPROC = void function (GLenum target, GLuint renderbuffer);
385 alias PFNGLBINDTEXTUREPROC = void function (GLenum target, GLuint texture);
386 alias PFNGLBLENDCOLORPROC = void function (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
387 alias PFNGLBLENDEQUATIONPROC = void function (GLenum mode);
388 alias PFNGLBLENDEQUATIONSEPARATEPROC = void function (GLenum modeRGB, GLenum modeAlpha);
389 alias PFNGLBLENDFUNCPROC = void function (GLenum sfactor, GLenum dfactor);
390 alias PFNGLBLENDFUNCSEPARATEPROC = void function (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
391 alias PFNGLBUFFERDATAPROC = void function (GLenum target, GLsizeiptr size, const(void)* data, GLenum usage);
392 alias PFNGLBUFFERSUBDATAPROC = void function (GLenum target, GLintptr offset, GLsizeiptr size, const(void)* data);
393 alias PFNGLCHECKFRAMEBUFFERSTATUSPROC = uint function (GLenum target);
394 alias PFNGLCLEARPROC = void function (GLbitfield mask);
395 alias PFNGLCLEARCOLORPROC = void function (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
396 alias PFNGLCLEARDEPTHFPROC = void function (GLfloat d);
397 alias PFNGLCLEARSTENCILPROC = void function (GLint s);
398 alias PFNGLCOLORMASKPROC = void function (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
399 alias PFNGLCOMPILESHADERPROC = void function (GLuint shader);
400 alias PFNGLCOMPRESSEDTEXIMAGE2DPROC = void function (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const(void)* data);
401 alias PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC = void function (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(void)* data);
402 alias PFNGLCOPYTEXIMAGE2DPROC = void function (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
403 alias PFNGLCOPYTEXSUBIMAGE2DPROC = void function (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
404 alias PFNGLCREATEPROGRAMPROC = uint function ();
405 alias PFNGLCREATESHADERPROC = uint function (GLenum type);
406 alias PFNGLCULLFACEPROC = void function (GLenum mode);
407 alias PFNGLDELETEBUFFERSPROC = void function (GLsizei n, const(GLuint)* buffers);
408 alias PFNGLDELETEFRAMEBUFFERSPROC = void function (GLsizei n, const(GLuint)* framebuffers);
409 alias PFNGLDELETEPROGRAMPROC = void function (GLuint program);
410 alias PFNGLDELETERENDERBUFFERSPROC = void function (GLsizei n, const(GLuint)* renderbuffers);
411 alias PFNGLDELETESHADERPROC = void function (GLuint shader);
412 alias PFNGLDELETETEXTURESPROC = void function (GLsizei n, const(GLuint)* textures);
413 alias PFNGLDEPTHFUNCPROC = void function (GLenum func);
414 alias PFNGLDEPTHMASKPROC = void function (GLboolean flag);
415 alias PFNGLDEPTHRANGEFPROC = void function (GLfloat n, GLfloat f);
416 alias PFNGLDETACHSHADERPROC = void function (GLuint program, GLuint shader);
417 alias PFNGLDISABLEPROC = void function (GLenum cap);
418 alias PFNGLDISABLEVERTEXATTRIBARRAYPROC = void function (GLuint index);
419 alias PFNGLDRAWARRAYSPROC = void function (GLenum mode, GLint first, GLsizei count);
420 alias PFNGLDRAWELEMENTSPROC = void function (GLenum mode, GLsizei count, GLenum type, const(void)* indices);
421 alias PFNGLENABLEPROC = void function (GLenum cap);
422 alias PFNGLENABLEVERTEXATTRIBARRAYPROC = void function (GLuint index);
423 alias PFNGLFINISHPROC = void function ();
424 alias PFNGLFLUSHPROC = void function ();
425 alias PFNGLFRAMEBUFFERRENDERBUFFERPROC = void function (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
426 alias PFNGLFRAMEBUFFERTEXTURE2DPROC = void function (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
427 alias PFNGLFRONTFACEPROC = void function (GLenum mode);
428 alias PFNGLGENBUFFERSPROC = void function (GLsizei n, GLuint* buffers);
429 alias PFNGLGENERATEMIPMAPPROC = void function (GLenum target);
430 alias PFNGLGENFRAMEBUFFERSPROC = void function (GLsizei n, GLuint* framebuffers);
431 alias PFNGLGENRENDERBUFFERSPROC = void function (GLsizei n, GLuint* renderbuffers);
432 alias PFNGLGENTEXTURESPROC = void function (GLsizei n, GLuint* textures);
433 alias PFNGLGETACTIVEATTRIBPROC = void function (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
434 alias PFNGLGETACTIVEUNIFORMPROC = void function (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
435 alias PFNGLGETATTACHEDSHADERSPROC = void function (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
436 alias PFNGLGETATTRIBLOCATIONPROC = int function (GLuint program, const(GLchar)* name);
437 alias PFNGLGETBOOLEANVPROC = void function (GLenum pname, GLboolean* data);
438 alias PFNGLGETBUFFERPARAMETERIVPROC = void function (GLenum target, GLenum pname, GLint* params);
439 alias PFNGLGETERRORPROC = uint function ();
440 alias PFNGLGETFLOATVPROC = void function (GLenum pname, GLfloat* data);
441 alias PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC = void function (GLenum target, GLenum attachment, GLenum pname, GLint* params);
442 alias PFNGLGETINTEGERVPROC = void function (GLenum pname, GLint* data);
443 alias PFNGLGETPROGRAMIVPROC = void function (GLuint program, GLenum pname, GLint* params);
444 alias PFNGLGETPROGRAMINFOLOGPROC = void function (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
445 alias PFNGLGETRENDERBUFFERPARAMETERIVPROC = void function (GLenum target, GLenum pname, GLint* params);
446 alias PFNGLGETSHADERIVPROC = void function (GLuint shader, GLenum pname, GLint* params);
447 alias PFNGLGETSHADERINFOLOGPROC = void function (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
448 alias PFNGLGETSHADERPRECISIONFORMATPROC = void function (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
449 alias PFNGLGETSHADERSOURCEPROC = void function (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source);
450 alias PFNGLGETSTRINGPROC = const(ubyte)* function (GLenum name);
451 alias PFNGLGETTEXPARAMETERFVPROC = void function (GLenum target, GLenum pname, GLfloat* params);
452 alias PFNGLGETTEXPARAMETERIVPROC = void function (GLenum target, GLenum pname, GLint* params);
453 alias PFNGLGETUNIFORMFVPROC = void function (GLuint program, GLint location, GLfloat* params);
454 alias PFNGLGETUNIFORMIVPROC = void function (GLuint program, GLint location, GLint* params);
455 alias PFNGLGETUNIFORMLOCATIONPROC = int function (GLuint program, const(GLchar)* name);
456 alias PFNGLGETVERTEXATTRIBFVPROC = void function (GLuint index, GLenum pname, GLfloat* params);
457 alias PFNGLGETVERTEXATTRIBIVPROC = void function (GLuint index, GLenum pname, GLint* params);
458 alias PFNGLGETVERTEXATTRIBPOINTERVPROC = void function (GLuint index, GLenum pname, void** pointer);
459 alias PFNGLHINTPROC = void function (GLenum target, GLenum mode);
460 alias PFNGLISBUFFERPROC = ubyte function (GLuint buffer);
461 alias PFNGLISENABLEDPROC = ubyte function (GLenum cap);
462 alias PFNGLISFRAMEBUFFERPROC = ubyte function (GLuint framebuffer);
463 alias PFNGLISPROGRAMPROC = ubyte function (GLuint program);
464 alias PFNGLISRENDERBUFFERPROC = ubyte function (GLuint renderbuffer);
465 alias PFNGLISSHADERPROC = ubyte function (GLuint shader);
466 alias PFNGLISTEXTUREPROC = ubyte function (GLuint texture);
467 alias PFNGLLINEWIDTHPROC = void function (GLfloat width);
468 alias PFNGLLINKPROGRAMPROC = void function (GLuint program);
469 alias PFNGLPIXELSTOREIPROC = void function (GLenum pname, GLint param);
470 alias PFNGLPOLYGONOFFSETPROC = void function (GLfloat factor, GLfloat units);
471 alias PFNGLREADPIXELSPROC = void function (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels);
472 alias PFNGLRELEASESHADERCOMPILERPROC = void function ();
473 alias PFNGLRENDERBUFFERSTORAGEPROC = void function (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
474 alias PFNGLSAMPLECOVERAGEPROC = void function (GLfloat value, GLboolean invert);
475 alias PFNGLSCISSORPROC = void function (GLint x, GLint y, GLsizei width, GLsizei height);
476 alias PFNGLSHADERBINARYPROC = void function (GLsizei count, const(GLuint)* shaders, GLenum binaryformat, const(void)* binary, GLsizei length);
477 alias PFNGLSHADERSOURCEPROC = void function (GLuint shader, GLsizei count, const(GLchar*)* string, const(GLint)* length);
478 alias PFNGLSTENCILFUNCPROC = void function (GLenum func, GLint ref_, GLuint mask);
479 alias PFNGLSTENCILFUNCSEPARATEPROC = void function (GLenum face, GLenum func, GLint ref_, GLuint mask);
480 alias PFNGLSTENCILMASKPROC = void function (GLuint mask);
481 alias PFNGLSTENCILMASKSEPARATEPROC = void function (GLenum face, GLuint mask);
482 alias PFNGLSTENCILOPPROC = void function (GLenum fail, GLenum zfail, GLenum zpass);
483 alias PFNGLSTENCILOPSEPARATEPROC = void function (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
484 alias PFNGLTEXIMAGE2DPROC = void function (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const(void)* pixels);
485 alias PFNGLTEXPARAMETERFPROC = void function (GLenum target, GLenum pname, GLfloat param);
486 alias PFNGLTEXPARAMETERFVPROC = void function (GLenum target, GLenum pname, const(GLfloat)* params);
487 alias PFNGLTEXPARAMETERIPROC = void function (GLenum target, GLenum pname, GLint param);
488 alias PFNGLTEXPARAMETERIVPROC = void function (GLenum target, GLenum pname, const(GLint)* params);
489 alias PFNGLTEXSUBIMAGE2DPROC = void function (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(void)* pixels);
490 alias PFNGLUNIFORM1FPROC = void function (GLint location, GLfloat v0);
491 alias PFNGLUNIFORM1FVPROC = void function (GLint location, GLsizei count, const(GLfloat)* value);
492 alias PFNGLUNIFORM1IPROC = void function (GLint location, GLint v0);
493 alias PFNGLUNIFORM1IVPROC = void function (GLint location, GLsizei count, const(GLint)* value);
494 alias PFNGLUNIFORM2FPROC = void function (GLint location, GLfloat v0, GLfloat v1);
495 alias PFNGLUNIFORM2FVPROC = void function (GLint location, GLsizei count, const(GLfloat)* value);
496 alias PFNGLUNIFORM2IPROC = void function (GLint location, GLint v0, GLint v1);
497 alias PFNGLUNIFORM2IVPROC = void function (GLint location, GLsizei count, const(GLint)* value);
498 alias PFNGLUNIFORM3FPROC = void function (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
499 alias PFNGLUNIFORM3FVPROC = void function (GLint location, GLsizei count, const(GLfloat)* value);
500 alias PFNGLUNIFORM3IPROC = void function (GLint location, GLint v0, GLint v1, GLint v2);
501 alias PFNGLUNIFORM3IVPROC = void function (GLint location, GLsizei count, const(GLint)* value);
502 alias PFNGLUNIFORM4FPROC = void function (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
503 alias PFNGLUNIFORM4FVPROC = void function (GLint location, GLsizei count, const(GLfloat)* value);
504 alias PFNGLUNIFORM4IPROC = void function (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
505 alias PFNGLUNIFORM4IVPROC = void function (GLint location, GLsizei count, const(GLint)* value);
506 alias PFNGLUNIFORMMATRIX2FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
507 alias PFNGLUNIFORMMATRIX3FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
508 alias PFNGLUNIFORMMATRIX4FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
509 alias PFNGLUSEPROGRAMPROC = void function (GLuint program);
510 alias PFNGLVALIDATEPROGRAMPROC = void function (GLuint program);
511 alias PFNGLVERTEXATTRIB1FPROC = void function (GLuint index, GLfloat x);
512 alias PFNGLVERTEXATTRIB1FVPROC = void function (GLuint index, const(GLfloat)* v);
513 alias PFNGLVERTEXATTRIB2FPROC = void function (GLuint index, GLfloat x, GLfloat y);
514 alias PFNGLVERTEXATTRIB2FVPROC = void function (GLuint index, const(GLfloat)* v);
515 alias PFNGLVERTEXATTRIB3FPROC = void function (GLuint index, GLfloat x, GLfloat y, GLfloat z);
516 alias PFNGLVERTEXATTRIB3FVPROC = void function (GLuint index, const(GLfloat)* v);
517 alias PFNGLVERTEXATTRIB4FPROC = void function (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
518 alias PFNGLVERTEXATTRIB4FVPROC = void function (GLuint index, const(GLfloat)* v);
519 alias PFNGLVERTEXATTRIBPOINTERPROC = void function (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const(void)* pointer);
520 alias PFNGLVIEWPORTPROC = void function (GLint x, GLint y, GLsizei width, GLsizei height);
521 void glActiveTexture (GLenum texture);
522 void glAttachShader (GLuint program, GLuint shader);
523 void glBindAttribLocation (GLuint program, GLuint index, const(GLchar)* name);
524 void glBindBuffer (GLenum target, GLuint buffer);
525 void glBindFramebuffer (GLenum target, GLuint framebuffer);
526 void glBindRenderbuffer (GLenum target, GLuint renderbuffer);
527 void glBindTexture (GLenum target, GLuint texture);
528 void glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
529 void glBlendEquation (GLenum mode);
530 void glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
531 void glBlendFunc (GLenum sfactor, GLenum dfactor);
532 void glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
533 void glBufferData (GLenum target, GLsizeiptr size, const(void)* data, GLenum usage);
534 void glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const(void)* data);
535 GLenum glCheckFramebufferStatus (GLenum target);
536 void glClear (GLbitfield mask);
537 void glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
538 void glClearDepthf (GLfloat d);
539 void glClearStencil (GLint s);
540 void glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
541 void glCompileShader (GLuint shader);
542 void glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const(void)* data);
543 void glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(void)* data);
544 void glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
545 void glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
546 GLuint glCreateProgram ();
547 GLuint glCreateShader (GLenum type);
548 void glCullFace (GLenum mode);
549 void glDeleteBuffers (GLsizei n, const(GLuint)* buffers);
550 void glDeleteFramebuffers (GLsizei n, const(GLuint)* framebuffers);
551 void glDeleteProgram (GLuint program);
552 void glDeleteRenderbuffers (GLsizei n, const(GLuint)* renderbuffers);
553 void glDeleteShader (GLuint shader);
554 void glDeleteTextures (GLsizei n, const(GLuint)* textures);
555 void glDepthFunc (GLenum func);
556 void glDepthMask (GLboolean flag);
557 void glDepthRangef (GLfloat n, GLfloat f);
558 void glDetachShader (GLuint program, GLuint shader);
559 void glDisable (GLenum cap);
560 void glDisableVertexAttribArray (GLuint index);
561 void glDrawArrays (GLenum mode, GLint first, GLsizei count);
562 void glDrawElements (GLenum mode, GLsizei count, GLenum type, const(void)* indices);
563 void glEnable (GLenum cap);
564 void glEnableVertexAttribArray (GLuint index);
565 void glFinish ();
566 void glFlush ();
567 void glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
568 void glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
569 void glFrontFace (GLenum mode);
570 void glGenBuffers (GLsizei n, GLuint* buffers);
571 void glGenerateMipmap (GLenum target);
572 void glGenFramebuffers (GLsizei n, GLuint* framebuffers);
573 void glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
574 void glGenTextures (GLsizei n, GLuint* textures);
575 void glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
576 void glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
577 void glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
578 GLint glGetAttribLocation (GLuint program, const(GLchar)* name);
579 void glGetBooleanv (GLenum pname, GLboolean* data);
580 void glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
581 GLenum glGetError ();
582 void glGetFloatv (GLenum pname, GLfloat* data);
583 void glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
584 void glGetIntegerv (GLenum pname, GLint* data);
585 void glGetProgramiv (GLuint program, GLenum pname, GLint* params);
586 void glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
587 void glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
588 void glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
589 void glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
590 void glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
591 void glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source);
592 const(GLubyte)* glGetString (GLenum name);
593 void glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
594 void glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
595 void glGetUniformfv (GLuint program, GLint location, GLfloat* params);
596 void glGetUniformiv (GLuint program, GLint location, GLint* params);
597 GLint glGetUniformLocation (GLuint program, const(GLchar)* name);
598 void glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
599 void glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
600 void glGetVertexAttribPointerv (GLuint index, GLenum pname, void** pointer);
601 void glHint (GLenum target, GLenum mode);
602 GLboolean glIsBuffer (GLuint buffer);
603 GLboolean glIsEnabled (GLenum cap);
604 GLboolean glIsFramebuffer (GLuint framebuffer);
605 GLboolean glIsProgram (GLuint program);
606 GLboolean glIsRenderbuffer (GLuint renderbuffer);
607 GLboolean glIsShader (GLuint shader);
608 GLboolean glIsTexture (GLuint texture);
609 void glLineWidth (GLfloat width);
610 void glLinkProgram (GLuint program);
611 void glPixelStorei (GLenum pname, GLint param);
612 void glPolygonOffset (GLfloat factor, GLfloat units);
613 void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels);
614 void glReleaseShaderCompiler ();
615 void glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
616 void glSampleCoverage (GLfloat value, GLboolean invert);
617 void glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
618 void glShaderBinary (GLsizei count, const(GLuint)* shaders, GLenum binaryformat, const(void)* binary, GLsizei length);
619 void glShaderSource (GLuint shader, GLsizei count, const(GLchar*)* string, const(GLint)* length);
620 void glStencilFunc (GLenum func, GLint ref_, GLuint mask);
621 void glStencilFuncSeparate (GLenum face, GLenum func, GLint ref_, GLuint mask);
622 void glStencilMask (GLuint mask);
623 void glStencilMaskSeparate (GLenum face, GLuint mask);
624 void glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
625 void glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
626 void glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const(void)* pixels);
627 void glTexParameterf (GLenum target, GLenum pname, GLfloat param);
628 void glTexParameterfv (GLenum target, GLenum pname, const(GLfloat)* params);
629 void glTexParameteri (GLenum target, GLenum pname, GLint param);
630 void glTexParameteriv (GLenum target, GLenum pname, const(GLint)* params);
631 void glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(void)* pixels);
632 void glUniform1f (GLint location, GLfloat v0);
633 void glUniform1fv (GLint location, GLsizei count, const(GLfloat)* value);
634 void glUniform1i (GLint location, GLint v0);
635 void glUniform1iv (GLint location, GLsizei count, const(GLint)* value);
636 void glUniform2f (GLint location, GLfloat v0, GLfloat v1);
637 void glUniform2fv (GLint location, GLsizei count, const(GLfloat)* value);
638 void glUniform2i (GLint location, GLint v0, GLint v1);
639 void glUniform2iv (GLint location, GLsizei count, const(GLint)* value);
640 void glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
641 void glUniform3fv (GLint location, GLsizei count, const(GLfloat)* value);
642 void glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
643 void glUniform3iv (GLint location, GLsizei count, const(GLint)* value);
644 void glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
645 void glUniform4fv (GLint location, GLsizei count, const(GLfloat)* value);
646 void glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
647 void glUniform4iv (GLint location, GLsizei count, const(GLint)* value);
648 void glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
649 void glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
650 void glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
651 void glUseProgram (GLuint program);
652 void glValidateProgram (GLuint program);
653 void glVertexAttrib1f (GLuint index, GLfloat x);
654 void glVertexAttrib1fv (GLuint index, const(GLfloat)* v);
655 void glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
656 void glVertexAttrib2fv (GLuint index, const(GLfloat)* v);
657 void glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
658 void glVertexAttrib3fv (GLuint index, const(GLfloat)* v);
659 void glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
660 void glVertexAttrib4fv (GLuint index, const(GLfloat)* v);
661 void glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const(void)* pointer);
662 void glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
663 
664 /* GL_ES_VERSION_2_0 */
665 
666 enum GL_ES_VERSION_3_0 = 1;
667 alias GLhalf = ushort;
668 enum GL_READ_BUFFER = 0x0C02;
669 enum GL_UNPACK_ROW_LENGTH = 0x0CF2;
670 enum GL_UNPACK_SKIP_ROWS = 0x0CF3;
671 enum GL_UNPACK_SKIP_PIXELS = 0x0CF4;
672 enum GL_PACK_ROW_LENGTH = 0x0D02;
673 enum GL_PACK_SKIP_ROWS = 0x0D03;
674 enum GL_PACK_SKIP_PIXELS = 0x0D04;
675 enum GL_COLOR = 0x1800;
676 enum GL_DEPTH = 0x1801;
677 enum GL_STENCIL = 0x1802;
678 enum GL_RED = 0x1903;
679 enum GL_RGB8 = 0x8051;
680 enum GL_RGBA8 = 0x8058;
681 enum GL_RGB10_A2 = 0x8059;
682 enum GL_TEXTURE_BINDING_3D = 0x806A;
683 enum GL_UNPACK_SKIP_IMAGES = 0x806D;
684 enum GL_UNPACK_IMAGE_HEIGHT = 0x806E;
685 enum GL_TEXTURE_3D = 0x806F;
686 enum GL_TEXTURE_WRAP_R = 0x8072;
687 enum GL_MAX_3D_TEXTURE_SIZE = 0x8073;
688 enum GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368;
689 enum GL_MAX_ELEMENTS_VERTICES = 0x80E8;
690 enum GL_MAX_ELEMENTS_INDICES = 0x80E9;
691 enum GL_TEXTURE_MIN_LOD = 0x813A;
692 enum GL_TEXTURE_MAX_LOD = 0x813B;
693 enum GL_TEXTURE_BASE_LEVEL = 0x813C;
694 enum GL_TEXTURE_MAX_LEVEL = 0x813D;
695 enum GL_MIN = 0x8007;
696 enum GL_MAX = 0x8008;
697 enum GL_DEPTH_COMPONENT24 = 0x81A6;
698 enum GL_MAX_TEXTURE_LOD_BIAS = 0x84FD;
699 enum GL_TEXTURE_COMPARE_MODE = 0x884C;
700 enum GL_TEXTURE_COMPARE_FUNC = 0x884D;
701 enum GL_CURRENT_QUERY = 0x8865;
702 enum GL_QUERY_RESULT = 0x8866;
703 enum GL_QUERY_RESULT_AVAILABLE = 0x8867;
704 enum GL_BUFFER_MAPPED = 0x88BC;
705 enum GL_BUFFER_MAP_POINTER = 0x88BD;
706 enum GL_STREAM_READ = 0x88E1;
707 enum GL_STREAM_COPY = 0x88E2;
708 enum GL_STATIC_READ = 0x88E5;
709 enum GL_STATIC_COPY = 0x88E6;
710 enum GL_DYNAMIC_READ = 0x88E9;
711 enum GL_DYNAMIC_COPY = 0x88EA;
712 enum GL_MAX_DRAW_BUFFERS = 0x8824;
713 enum GL_DRAW_BUFFER0 = 0x8825;
714 enum GL_DRAW_BUFFER1 = 0x8826;
715 enum GL_DRAW_BUFFER2 = 0x8827;
716 enum GL_DRAW_BUFFER3 = 0x8828;
717 enum GL_DRAW_BUFFER4 = 0x8829;
718 enum GL_DRAW_BUFFER5 = 0x882A;
719 enum GL_DRAW_BUFFER6 = 0x882B;
720 enum GL_DRAW_BUFFER7 = 0x882C;
721 enum GL_DRAW_BUFFER8 = 0x882D;
722 enum GL_DRAW_BUFFER9 = 0x882E;
723 enum GL_DRAW_BUFFER10 = 0x882F;
724 enum GL_DRAW_BUFFER11 = 0x8830;
725 enum GL_DRAW_BUFFER12 = 0x8831;
726 enum GL_DRAW_BUFFER13 = 0x8832;
727 enum GL_DRAW_BUFFER14 = 0x8833;
728 enum GL_DRAW_BUFFER15 = 0x8834;
729 enum GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
730 enum GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
731 enum GL_SAMPLER_3D = 0x8B5F;
732 enum GL_SAMPLER_2D_SHADOW = 0x8B62;
733 enum GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
734 enum GL_PIXEL_PACK_BUFFER = 0x88EB;
735 enum GL_PIXEL_UNPACK_BUFFER = 0x88EC;
736 enum GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED;
737 enum GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
738 enum GL_FLOAT_MAT2x3 = 0x8B65;
739 enum GL_FLOAT_MAT2x4 = 0x8B66;
740 enum GL_FLOAT_MAT3x2 = 0x8B67;
741 enum GL_FLOAT_MAT3x4 = 0x8B68;
742 enum GL_FLOAT_MAT4x2 = 0x8B69;
743 enum GL_FLOAT_MAT4x3 = 0x8B6A;
744 enum GL_SRGB = 0x8C40;
745 enum GL_SRGB8 = 0x8C41;
746 enum GL_SRGB8_ALPHA8 = 0x8C43;
747 enum GL_COMPARE_REF_TO_TEXTURE = 0x884E;
748 enum GL_MAJOR_VERSION = 0x821B;
749 enum GL_MINOR_VERSION = 0x821C;
750 enum GL_NUM_EXTENSIONS = 0x821D;
751 enum GL_RGBA32F = 0x8814;
752 enum GL_RGB32F = 0x8815;
753 enum GL_RGBA16F = 0x881A;
754 enum GL_RGB16F = 0x881B;
755 enum GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
756 enum GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
757 enum GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
758 enum GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
759 enum GL_MAX_VARYING_COMPONENTS = 0x8B4B;
760 enum GL_TEXTURE_2D_ARRAY = 0x8C1A;
761 enum GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
762 enum GL_R11F_G11F_B10F = 0x8C3A;
763 enum GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
764 enum GL_RGB9_E5 = 0x8C3D;
765 enum GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
766 enum GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
767 enum GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
768 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
769 enum GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
770 enum GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
771 enum GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
772 enum GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
773 enum GL_RASTERIZER_DISCARD = 0x8C89;
774 enum GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
775 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
776 enum GL_INTERLEAVED_ATTRIBS = 0x8C8C;
777 enum GL_SEPARATE_ATTRIBS = 0x8C8D;
778 enum GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
779 enum GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
780 enum GL_RGBA32UI = 0x8D70;
781 enum GL_RGB32UI = 0x8D71;
782 enum GL_RGBA16UI = 0x8D76;
783 enum GL_RGB16UI = 0x8D77;
784 enum GL_RGBA8UI = 0x8D7C;
785 enum GL_RGB8UI = 0x8D7D;
786 enum GL_RGBA32I = 0x8D82;
787 enum GL_RGB32I = 0x8D83;
788 enum GL_RGBA16I = 0x8D88;
789 enum GL_RGB16I = 0x8D89;
790 enum GL_RGBA8I = 0x8D8E;
791 enum GL_RGB8I = 0x8D8F;
792 enum GL_RED_INTEGER = 0x8D94;
793 enum GL_RGB_INTEGER = 0x8D98;
794 enum GL_RGBA_INTEGER = 0x8D99;
795 enum GL_SAMPLER_2D_ARRAY = 0x8DC1;
796 enum GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
797 enum GL_SAMPLER_CUBE_SHADOW = 0x8DC5;
798 enum GL_UNSIGNED_INT_VEC2 = 0x8DC6;
799 enum GL_UNSIGNED_INT_VEC3 = 0x8DC7;
800 enum GL_UNSIGNED_INT_VEC4 = 0x8DC8;
801 enum GL_INT_SAMPLER_2D = 0x8DCA;
802 enum GL_INT_SAMPLER_3D = 0x8DCB;
803 enum GL_INT_SAMPLER_CUBE = 0x8DCC;
804 enum GL_INT_SAMPLER_2D_ARRAY = 0x8DCF;
805 enum GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
806 enum GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
807 enum GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
808 enum GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
809 enum GL_BUFFER_ACCESS_FLAGS = 0x911F;
810 enum GL_BUFFER_MAP_LENGTH = 0x9120;
811 enum GL_BUFFER_MAP_OFFSET = 0x9121;
812 enum GL_DEPTH_COMPONENT32F = 0x8CAC;
813 enum GL_DEPTH32F_STENCIL8 = 0x8CAD;
814 enum GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
815 enum GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
816 enum GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
817 enum GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
818 enum GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
819 enum GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
820 enum GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
821 enum GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
822 enum GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
823 enum GL_FRAMEBUFFER_DEFAULT = 0x8218;
824 enum GL_FRAMEBUFFER_UNDEFINED = 0x8219;
825 enum GL_DEPTH_STENCIL_ATTACHMENT = 0x821A;
826 enum GL_DEPTH_STENCIL = 0x84F9;
827 enum GL_UNSIGNED_INT_24_8 = 0x84FA;
828 enum GL_DEPTH24_STENCIL8 = 0x88F0;
829 enum GL_UNSIGNED_NORMALIZED = 0x8C17;
830 enum GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6;
831 enum GL_READ_FRAMEBUFFER = 0x8CA8;
832 enum GL_DRAW_FRAMEBUFFER = 0x8CA9;
833 enum GL_READ_FRAMEBUFFER_BINDING = 0x8CAA;
834 enum GL_RENDERBUFFER_SAMPLES = 0x8CAB;
835 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
836 enum GL_MAX_COLOR_ATTACHMENTS = 0x8CDF;
837 enum GL_COLOR_ATTACHMENT1 = 0x8CE1;
838 enum GL_COLOR_ATTACHMENT2 = 0x8CE2;
839 enum GL_COLOR_ATTACHMENT3 = 0x8CE3;
840 enum GL_COLOR_ATTACHMENT4 = 0x8CE4;
841 enum GL_COLOR_ATTACHMENT5 = 0x8CE5;
842 enum GL_COLOR_ATTACHMENT6 = 0x8CE6;
843 enum GL_COLOR_ATTACHMENT7 = 0x8CE7;
844 enum GL_COLOR_ATTACHMENT8 = 0x8CE8;
845 enum GL_COLOR_ATTACHMENT9 = 0x8CE9;
846 enum GL_COLOR_ATTACHMENT10 = 0x8CEA;
847 enum GL_COLOR_ATTACHMENT11 = 0x8CEB;
848 enum GL_COLOR_ATTACHMENT12 = 0x8CEC;
849 enum GL_COLOR_ATTACHMENT13 = 0x8CED;
850 enum GL_COLOR_ATTACHMENT14 = 0x8CEE;
851 enum GL_COLOR_ATTACHMENT15 = 0x8CEF;
852 enum GL_COLOR_ATTACHMENT16 = 0x8CF0;
853 enum GL_COLOR_ATTACHMENT17 = 0x8CF1;
854 enum GL_COLOR_ATTACHMENT18 = 0x8CF2;
855 enum GL_COLOR_ATTACHMENT19 = 0x8CF3;
856 enum GL_COLOR_ATTACHMENT20 = 0x8CF4;
857 enum GL_COLOR_ATTACHMENT21 = 0x8CF5;
858 enum GL_COLOR_ATTACHMENT22 = 0x8CF6;
859 enum GL_COLOR_ATTACHMENT23 = 0x8CF7;
860 enum GL_COLOR_ATTACHMENT24 = 0x8CF8;
861 enum GL_COLOR_ATTACHMENT25 = 0x8CF9;
862 enum GL_COLOR_ATTACHMENT26 = 0x8CFA;
863 enum GL_COLOR_ATTACHMENT27 = 0x8CFB;
864 enum GL_COLOR_ATTACHMENT28 = 0x8CFC;
865 enum GL_COLOR_ATTACHMENT29 = 0x8CFD;
866 enum GL_COLOR_ATTACHMENT30 = 0x8CFE;
867 enum GL_COLOR_ATTACHMENT31 = 0x8CFF;
868 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
869 enum GL_MAX_SAMPLES = 0x8D57;
870 enum GL_HALF_FLOAT = 0x140B;
871 enum GL_MAP_READ_BIT = 0x0001;
872 enum GL_MAP_WRITE_BIT = 0x0002;
873 enum GL_MAP_INVALIDATE_RANGE_BIT = 0x0004;
874 enum GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008;
875 enum GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010;
876 enum GL_MAP_UNSYNCHRONIZED_BIT = 0x0020;
877 enum GL_RG = 0x8227;
878 enum GL_RG_INTEGER = 0x8228;
879 enum GL_R8 = 0x8229;
880 enum GL_RG8 = 0x822B;
881 enum GL_R16F = 0x822D;
882 enum GL_R32F = 0x822E;
883 enum GL_RG16F = 0x822F;
884 enum GL_RG32F = 0x8230;
885 enum GL_R8I = 0x8231;
886 enum GL_R8UI = 0x8232;
887 enum GL_R16I = 0x8233;
888 enum GL_R16UI = 0x8234;
889 enum GL_R32I = 0x8235;
890 enum GL_R32UI = 0x8236;
891 enum GL_RG8I = 0x8237;
892 enum GL_RG8UI = 0x8238;
893 enum GL_RG16I = 0x8239;
894 enum GL_RG16UI = 0x823A;
895 enum GL_RG32I = 0x823B;
896 enum GL_RG32UI = 0x823C;
897 enum GL_VERTEX_ARRAY_BINDING = 0x85B5;
898 enum GL_R8_SNORM = 0x8F94;
899 enum GL_RG8_SNORM = 0x8F95;
900 enum GL_RGB8_SNORM = 0x8F96;
901 enum GL_RGBA8_SNORM = 0x8F97;
902 enum GL_SIGNED_NORMALIZED = 0x8F9C;
903 enum GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69;
904 enum GL_COPY_READ_BUFFER = 0x8F36;
905 enum GL_COPY_WRITE_BUFFER = 0x8F37;
906 enum GL_COPY_READ_BUFFER_BINDING = 0x8F36;
907 enum GL_COPY_WRITE_BUFFER_BINDING = 0x8F37;
908 enum GL_UNIFORM_BUFFER = 0x8A11;
909 enum GL_UNIFORM_BUFFER_BINDING = 0x8A28;
910 enum GL_UNIFORM_BUFFER_START = 0x8A29;
911 enum GL_UNIFORM_BUFFER_SIZE = 0x8A2A;
912 enum GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
913 enum GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
914 enum GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
915 enum GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
916 enum GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
917 enum GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
918 enum GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
919 enum GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
920 enum GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35;
921 enum GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36;
922 enum GL_UNIFORM_TYPE = 0x8A37;
923 enum GL_UNIFORM_SIZE = 0x8A38;
924 enum GL_UNIFORM_NAME_LENGTH = 0x8A39;
925 enum GL_UNIFORM_BLOCK_INDEX = 0x8A3A;
926 enum GL_UNIFORM_OFFSET = 0x8A3B;
927 enum GL_UNIFORM_ARRAY_STRIDE = 0x8A3C;
928 enum GL_UNIFORM_MATRIX_STRIDE = 0x8A3D;
929 enum GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E;
930 enum GL_UNIFORM_BLOCK_BINDING = 0x8A3F;
931 enum GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
932 enum GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41;
933 enum GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
934 enum GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
935 enum GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
936 enum GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
937 enum GL_INVALID_INDEX = 0xFFFFFFFFu;
938 enum GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
939 enum GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
940 enum GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111;
941 enum GL_OBJECT_TYPE = 0x9112;
942 enum GL_SYNC_CONDITION = 0x9113;
943 enum GL_SYNC_STATUS = 0x9114;
944 enum GL_SYNC_FLAGS = 0x9115;
945 enum GL_SYNC_FENCE = 0x9116;
946 enum GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
947 enum GL_UNSIGNALED = 0x9118;
948 enum GL_SIGNALED = 0x9119;
949 enum GL_ALREADY_SIGNALED = 0x911A;
950 enum GL_TIMEOUT_EXPIRED = 0x911B;
951 enum GL_CONDITION_SATISFIED = 0x911C;
952 enum GL_WAIT_FAILED = 0x911D;
953 enum GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
954 enum GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFuL;
955 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
956 enum GL_ANY_SAMPLES_PASSED = 0x8C2F;
957 enum GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
958 enum GL_SAMPLER_BINDING = 0x8919;
959 enum GL_RGB10_A2UI = 0x906F;
960 enum GL_TEXTURE_SWIZZLE_R = 0x8E42;
961 enum GL_TEXTURE_SWIZZLE_G = 0x8E43;
962 enum GL_TEXTURE_SWIZZLE_B = 0x8E44;
963 enum GL_TEXTURE_SWIZZLE_A = 0x8E45;
964 enum GL_GREEN = 0x1904;
965 enum GL_BLUE = 0x1905;
966 enum GL_INT_2_10_10_10_REV = 0x8D9F;
967 enum GL_TRANSFORM_FEEDBACK = 0x8E22;
968 enum GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
969 enum GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
970 enum GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25;
971 enum GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257;
972 enum GL_PROGRAM_BINARY_LENGTH = 0x8741;
973 enum GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE;
974 enum GL_PROGRAM_BINARY_FORMATS = 0x87FF;
975 enum GL_COMPRESSED_R11_EAC = 0x9270;
976 enum GL_COMPRESSED_SIGNED_R11_EAC = 0x9271;
977 enum GL_COMPRESSED_RG11_EAC = 0x9272;
978 enum GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273;
979 enum GL_COMPRESSED_RGB8_ETC2 = 0x9274;
980 enum GL_COMPRESSED_SRGB8_ETC2 = 0x9275;
981 enum GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
982 enum GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
983 enum GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
984 enum GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279;
985 enum GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F;
986 enum GL_MAX_ELEMENT_INDEX = 0x8D6B;
987 enum GL_NUM_SAMPLE_COUNTS = 0x9380;
988 enum GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
989 alias PFNGLREADBUFFERPROC = void function (GLenum src);
990 alias PFNGLDRAWRANGEELEMENTSPROC = void function (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(void)* indices);
991 alias PFNGLTEXIMAGE3DPROC = void function (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const(void)* pixels);
992 alias PFNGLTEXSUBIMAGE3DPROC = void function (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(void)* pixels);
993 alias PFNGLCOPYTEXSUBIMAGE3DPROC = void function (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
994 alias PFNGLCOMPRESSEDTEXIMAGE3DPROC = void function (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const(void)* data);
995 alias PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC = void function (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(void)* data);
996 alias PFNGLGENQUERIESPROC = void function (GLsizei n, GLuint* ids);
997 alias PFNGLDELETEQUERIESPROC = void function (GLsizei n, const(GLuint)* ids);
998 alias PFNGLISQUERYPROC = ubyte function (GLuint id);
999 alias PFNGLBEGINQUERYPROC = void function (GLenum target, GLuint id);
1000 alias PFNGLENDQUERYPROC = void function (GLenum target);
1001 alias PFNGLGETQUERYIVPROC = void function (GLenum target, GLenum pname, GLint* params);
1002 alias PFNGLGETQUERYOBJECTUIVPROC = void function (GLuint id, GLenum pname, GLuint* params);
1003 alias PFNGLUNMAPBUFFERPROC = ubyte function (GLenum target);
1004 alias PFNGLGETBUFFERPOINTERVPROC = void function (GLenum target, GLenum pname, void** params);
1005 alias PFNGLDRAWBUFFERSPROC = void function (GLsizei n, const(GLenum)* bufs);
1006 alias PFNGLUNIFORMMATRIX2X3FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1007 alias PFNGLUNIFORMMATRIX3X2FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1008 alias PFNGLUNIFORMMATRIX2X4FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1009 alias PFNGLUNIFORMMATRIX4X2FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1010 alias PFNGLUNIFORMMATRIX3X4FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1011 alias PFNGLUNIFORMMATRIX4X3FVPROC = void function (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1012 alias PFNGLBLITFRAMEBUFFERPROC = void function (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1013 alias PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC = void function (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1014 alias PFNGLFRAMEBUFFERTEXTURELAYERPROC = void function (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1015 alias PFNGLMAPBUFFERRANGEPROC = void* function (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1016 alias PFNGLFLUSHMAPPEDBUFFERRANGEPROC = void function (GLenum target, GLintptr offset, GLsizeiptr length);
1017 alias PFNGLBINDVERTEXARRAYPROC = void function (GLuint array);
1018 alias PFNGLDELETEVERTEXARRAYSPROC = void function (GLsizei n, const(GLuint)* arrays);
1019 alias PFNGLGENVERTEXARRAYSPROC = void function (GLsizei n, GLuint* arrays);
1020 alias PFNGLISVERTEXARRAYPROC = ubyte function (GLuint array);
1021 alias PFNGLGETINTEGERI_VPROC = void function (GLenum target, GLuint index, GLint* data);
1022 alias PFNGLBEGINTRANSFORMFEEDBACKPROC = void function (GLenum primitiveMode);
1023 alias PFNGLENDTRANSFORMFEEDBACKPROC = void function ();
1024 alias PFNGLBINDBUFFERRANGEPROC = void function (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1025 alias PFNGLBINDBUFFERBASEPROC = void function (GLenum target, GLuint index, GLuint buffer);
1026 alias PFNGLTRANSFORMFEEDBACKVARYINGSPROC = void function (GLuint program, GLsizei count, const(GLchar*)* varyings, GLenum bufferMode);
1027 alias PFNGLGETTRANSFORMFEEDBACKVARYINGPROC = void function (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name);
1028 alias PFNGLVERTEXATTRIBIPOINTERPROC = void function (GLuint index, GLint size, GLenum type, GLsizei stride, const(void)* pointer);
1029 alias PFNGLGETVERTEXATTRIBIIVPROC = void function (GLuint index, GLenum pname, GLint* params);
1030 alias PFNGLGETVERTEXATTRIBIUIVPROC = void function (GLuint index, GLenum pname, GLuint* params);
1031 alias PFNGLVERTEXATTRIBI4IPROC = void function (GLuint index, GLint x, GLint y, GLint z, GLint w);
1032 alias PFNGLVERTEXATTRIBI4UIPROC = void function (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1033 alias PFNGLVERTEXATTRIBI4IVPROC = void function (GLuint index, const(GLint)* v);
1034 alias PFNGLVERTEXATTRIBI4UIVPROC = void function (GLuint index, const(GLuint)* v);
1035 alias PFNGLGETUNIFORMUIVPROC = void function (GLuint program, GLint location, GLuint* params);
1036 alias PFNGLGETFRAGDATALOCATIONPROC = int function (GLuint program, const(GLchar)* name);
1037 alias PFNGLUNIFORM1UIPROC = void function (GLint location, GLuint v0);
1038 alias PFNGLUNIFORM2UIPROC = void function (GLint location, GLuint v0, GLuint v1);
1039 alias PFNGLUNIFORM3UIPROC = void function (GLint location, GLuint v0, GLuint v1, GLuint v2);
1040 alias PFNGLUNIFORM4UIPROC = void function (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1041 alias PFNGLUNIFORM1UIVPROC = void function (GLint location, GLsizei count, const(GLuint)* value);
1042 alias PFNGLUNIFORM2UIVPROC = void function (GLint location, GLsizei count, const(GLuint)* value);
1043 alias PFNGLUNIFORM3UIVPROC = void function (GLint location, GLsizei count, const(GLuint)* value);
1044 alias PFNGLUNIFORM4UIVPROC = void function (GLint location, GLsizei count, const(GLuint)* value);
1045 alias PFNGLCLEARBUFFERIVPROC = void function (GLenum buffer, GLint drawbuffer, const(GLint)* value);
1046 alias PFNGLCLEARBUFFERUIVPROC = void function (GLenum buffer, GLint drawbuffer, const(GLuint)* value);
1047 alias PFNGLCLEARBUFFERFVPROC = void function (GLenum buffer, GLint drawbuffer, const(GLfloat)* value);
1048 alias PFNGLCLEARBUFFERFIPROC = void function (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1049 alias PFNGLGETSTRINGIPROC = const(ubyte)* function (GLenum name, GLuint index);
1050 alias PFNGLCOPYBUFFERSUBDATAPROC = void function (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1051 alias PFNGLGETUNIFORMINDICESPROC = void function (GLuint program, GLsizei uniformCount, const(GLchar*)* uniformNames, GLuint* uniformIndices);
1052 alias PFNGLGETACTIVEUNIFORMSIVPROC = void function (GLuint program, GLsizei uniformCount, const(GLuint)* uniformIndices, GLenum pname, GLint* params);
1053 alias PFNGLGETUNIFORMBLOCKINDEXPROC = uint function (GLuint program, const(GLchar)* uniformBlockName);
1054 alias PFNGLGETACTIVEUNIFORMBLOCKIVPROC = void function (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
1055 alias PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = void function (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
1056 alias PFNGLUNIFORMBLOCKBINDINGPROC = void function (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1057 alias PFNGLDRAWARRAYSINSTANCEDPROC = void function (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1058 alias PFNGLDRAWELEMENTSINSTANCEDPROC = void function (GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount);
1059 alias PFNGLFENCESYNCPROC = __GLsync* function (GLenum condition, GLbitfield flags);
1060 alias PFNGLISSYNCPROC = ubyte function (GLsync sync);
1061 alias PFNGLDELETESYNCPROC = void function (GLsync sync);
1062 alias PFNGLCLIENTWAITSYNCPROC = uint function (GLsync sync, GLbitfield flags, GLuint64 timeout);
1063 alias PFNGLWAITSYNCPROC = void function (GLsync sync, GLbitfield flags, GLuint64 timeout);
1064 alias PFNGLGETINTEGER64VPROC = void function (GLenum pname, GLint64* data);
1065 alias PFNGLGETSYNCIVPROC = void function (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
1066 alias PFNGLGETINTEGER64I_VPROC = void function (GLenum target, GLuint index, GLint64* data);
1067 alias PFNGLGETBUFFERPARAMETERI64VPROC = void function (GLenum target, GLenum pname, GLint64* params);
1068 alias PFNGLGENSAMPLERSPROC = void function (GLsizei count, GLuint* samplers);
1069 alias PFNGLDELETESAMPLERSPROC = void function (GLsizei count, const(GLuint)* samplers);
1070 alias PFNGLISSAMPLERPROC = ubyte function (GLuint sampler);
1071 alias PFNGLBINDSAMPLERPROC = void function (GLuint unit, GLuint sampler);
1072 alias PFNGLSAMPLERPARAMETERIPROC = void function (GLuint sampler, GLenum pname, GLint param);
1073 alias PFNGLSAMPLERPARAMETERIVPROC = void function (GLuint sampler, GLenum pname, const(GLint)* param);
1074 alias PFNGLSAMPLERPARAMETERFPROC = void function (GLuint sampler, GLenum pname, GLfloat param);
1075 alias PFNGLSAMPLERPARAMETERFVPROC = void function (GLuint sampler, GLenum pname, const(GLfloat)* param);
1076 alias PFNGLGETSAMPLERPARAMETERIVPROC = void function (GLuint sampler, GLenum pname, GLint* params);
1077 alias PFNGLGETSAMPLERPARAMETERFVPROC = void function (GLuint sampler, GLenum pname, GLfloat* params);
1078 alias PFNGLVERTEXATTRIBDIVISORPROC = void function (GLuint index, GLuint divisor);
1079 alias PFNGLBINDTRANSFORMFEEDBACKPROC = void function (GLenum target, GLuint id);
1080 alias PFNGLDELETETRANSFORMFEEDBACKSPROC = void function (GLsizei n, const(GLuint)* ids);
1081 alias PFNGLGENTRANSFORMFEEDBACKSPROC = void function (GLsizei n, GLuint* ids);
1082 alias PFNGLISTRANSFORMFEEDBACKPROC = ubyte function (GLuint id);
1083 alias PFNGLPAUSETRANSFORMFEEDBACKPROC = void function ();
1084 alias PFNGLRESUMETRANSFORMFEEDBACKPROC = void function ();
1085 alias PFNGLGETPROGRAMBINARYPROC = void function (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary);
1086 alias PFNGLPROGRAMBINARYPROC = void function (GLuint program, GLenum binaryFormat, const(void)* binary, GLsizei length);
1087 alias PFNGLPROGRAMPARAMETERIPROC = void function (GLuint program, GLenum pname, GLint value);
1088 alias PFNGLINVALIDATEFRAMEBUFFERPROC = void function (GLenum target, GLsizei numAttachments, const(GLenum)* attachments);
1089 alias PFNGLINVALIDATESUBFRAMEBUFFERPROC = void function (GLenum target, GLsizei numAttachments, const(GLenum)* attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1090 alias PFNGLTEXSTORAGE2DPROC = void function (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1091 alias PFNGLTEXSTORAGE3DPROC = void function (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1092 alias PFNGLGETINTERNALFORMATIVPROC = void function (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params);
1093 void glReadBuffer (GLenum src);
1094 void glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(void)* indices);
1095 void glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const(void)* pixels);
1096 void glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(void)* pixels);
1097 void glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1098 void glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const(void)* data);
1099 void glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(void)* data);
1100 void glGenQueries (GLsizei n, GLuint* ids);
1101 void glDeleteQueries (GLsizei n, const(GLuint)* ids);
1102 GLboolean glIsQuery (GLuint id);
1103 void glBeginQuery (GLenum target, GLuint id);
1104 void glEndQuery (GLenum target);
1105 void glGetQueryiv (GLenum target, GLenum pname, GLint* params);
1106 void glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint* params);
1107 GLboolean glUnmapBuffer (GLenum target);
1108 void glGetBufferPointerv (GLenum target, GLenum pname, void** params);
1109 void glDrawBuffers (GLsizei n, const(GLenum)* bufs);
1110 void glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1111 void glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1112 void glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1113 void glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1114 void glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1115 void glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1116 void glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1117 void glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1118 void glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1119 void* glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1120 void glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
1121 void glBindVertexArray (GLuint array);
1122 void glDeleteVertexArrays (GLsizei n, const(GLuint)* arrays);
1123 void glGenVertexArrays (GLsizei n, GLuint* arrays);
1124 GLboolean glIsVertexArray (GLuint array);
1125 void glGetIntegeri_v (GLenum target, GLuint index, GLint* data);
1126 void glBeginTransformFeedback (GLenum primitiveMode);
1127 void glEndTransformFeedback ();
1128 void glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1129 void glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
1130 void glTransformFeedbackVaryings (GLuint program, GLsizei count, const(GLchar*)* varyings, GLenum bufferMode);
1131 void glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name);
1132 void glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const(void)* pointer);
1133 void glGetVertexAttribIiv (GLuint index, GLenum pname, GLint* params);
1134 void glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint* params);
1135 void glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
1136 void glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1137 void glVertexAttribI4iv (GLuint index, const(GLint)* v);
1138 void glVertexAttribI4uiv (GLuint index, const(GLuint)* v);
1139 void glGetUniformuiv (GLuint program, GLint location, GLuint* params);
1140 GLint glGetFragDataLocation (GLuint program, const(GLchar)* name);
1141 void glUniform1ui (GLint location, GLuint v0);
1142 void glUniform2ui (GLint location, GLuint v0, GLuint v1);
1143 void glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
1144 void glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1145 void glUniform1uiv (GLint location, GLsizei count, const(GLuint)* value);
1146 void glUniform2uiv (GLint location, GLsizei count, const(GLuint)* value);
1147 void glUniform3uiv (GLint location, GLsizei count, const(GLuint)* value);
1148 void glUniform4uiv (GLint location, GLsizei count, const(GLuint)* value);
1149 void glClearBufferiv (GLenum buffer, GLint drawbuffer, const(GLint)* value);
1150 void glClearBufferuiv (GLenum buffer, GLint drawbuffer, const(GLuint)* value);
1151 void glClearBufferfv (GLenum buffer, GLint drawbuffer, const(GLfloat)* value);
1152 void glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1153 const(GLubyte)* glGetStringi (GLenum name, GLuint index);
1154 void glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1155 void glGetUniformIndices (GLuint program, GLsizei uniformCount, const(GLchar*)* uniformNames, GLuint* uniformIndices);
1156 void glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const(GLuint)* uniformIndices, GLenum pname, GLint* params);
1157 GLuint glGetUniformBlockIndex (GLuint program, const(GLchar)* uniformBlockName);
1158 void glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
1159 void glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
1160 void glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1161 void glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1162 void glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount);
1163 GLsync glFenceSync (GLenum condition, GLbitfield flags);
1164 GLboolean glIsSync (GLsync sync);
1165 void glDeleteSync (GLsync sync);
1166 GLenum glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1167 void glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1168 void glGetInteger64v (GLenum pname, GLint64* data);
1169 void glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
1170 void glGetInteger64i_v (GLenum target, GLuint index, GLint64* data);
1171 void glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64* params);
1172 void glGenSamplers (GLsizei count, GLuint* samplers);
1173 void glDeleteSamplers (GLsizei count, const(GLuint)* samplers);
1174 GLboolean glIsSampler (GLuint sampler);
1175 void glBindSampler (GLuint unit, GLuint sampler);
1176 void glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
1177 void glSamplerParameteriv (GLuint sampler, GLenum pname, const(GLint)* param);
1178 void glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
1179 void glSamplerParameterfv (GLuint sampler, GLenum pname, const(GLfloat)* param);
1180 void glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint* params);
1181 void glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat* params);
1182 void glVertexAttribDivisor (GLuint index, GLuint divisor);
1183 void glBindTransformFeedback (GLenum target, GLuint id);
1184 void glDeleteTransformFeedbacks (GLsizei n, const(GLuint)* ids);
1185 void glGenTransformFeedbacks (GLsizei n, GLuint* ids);
1186 GLboolean glIsTransformFeedback (GLuint id);
1187 void glPauseTransformFeedback ();
1188 void glResumeTransformFeedback ();
1189 void glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary);
1190 void glProgramBinary (GLuint program, GLenum binaryFormat, const(void)* binary, GLsizei length);
1191 void glProgramParameteri (GLuint program, GLenum pname, GLint value);
1192 void glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const(GLenum)* attachments);
1193 void glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const(GLenum)* attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1194 void glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1195 void glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1196 void glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params);
1197 
1198 /* GL_ES_VERSION_3_0 */
1199 
1200 enum GL_ES_VERSION_3_1 = 1;
1201 enum GL_COMPUTE_SHADER = 0x91B9;
1202 enum GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB;
1203 enum GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC;
1204 enum GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD;
1205 enum GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262;
1206 enum GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263;
1207 enum GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264;
1208 enum GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265;
1209 enum GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266;
1210 enum GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB;
1211 enum GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE;
1212 enum GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF;
1213 enum GL_COMPUTE_WORK_GROUP_SIZE = 0x8267;
1214 enum GL_DISPATCH_INDIRECT_BUFFER = 0x90EE;
1215 enum GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF;
1216 enum GL_COMPUTE_SHADER_BIT = 0x00000020;
1217 enum GL_DRAW_INDIRECT_BUFFER = 0x8F3F;
1218 enum GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43;
1219 enum GL_MAX_UNIFORM_LOCATIONS = 0x826E;
1220 enum GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310;
1221 enum GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311;
1222 enum GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313;
1223 enum GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314;
1224 enum GL_MAX_FRAMEBUFFER_WIDTH = 0x9315;
1225 enum GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316;
1226 enum GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318;
1227 enum GL_UNIFORM = 0x92E1;
1228 enum GL_UNIFORM_BLOCK = 0x92E2;
1229 enum GL_PROGRAM_INPUT = 0x92E3;
1230 enum GL_PROGRAM_OUTPUT = 0x92E4;
1231 enum GL_BUFFER_VARIABLE = 0x92E5;
1232 enum GL_SHADER_STORAGE_BLOCK = 0x92E6;
1233 enum GL_ATOMIC_COUNTER_BUFFER = 0x92C0;
1234 enum GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4;
1235 enum GL_ACTIVE_RESOURCES = 0x92F5;
1236 enum GL_MAX_NAME_LENGTH = 0x92F6;
1237 enum GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7;
1238 enum GL_NAME_LENGTH = 0x92F9;
1239 enum GL_TYPE = 0x92FA;
1240 enum GL_ARRAY_SIZE = 0x92FB;
1241 enum GL_OFFSET = 0x92FC;
1242 enum GL_BLOCK_INDEX = 0x92FD;
1243 enum GL_ARRAY_STRIDE = 0x92FE;
1244 enum GL_MATRIX_STRIDE = 0x92FF;
1245 enum GL_IS_ROW_MAJOR = 0x9300;
1246 enum GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301;
1247 enum GL_BUFFER_BINDING = 0x9302;
1248 enum GL_BUFFER_DATA_SIZE = 0x9303;
1249 enum GL_NUM_ACTIVE_VARIABLES = 0x9304;
1250 enum GL_ACTIVE_VARIABLES = 0x9305;
1251 enum GL_REFERENCED_BY_VERTEX_SHADER = 0x9306;
1252 enum GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A;
1253 enum GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B;
1254 enum GL_TOP_LEVEL_ARRAY_SIZE = 0x930C;
1255 enum GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D;
1256 enum GL_LOCATION = 0x930E;
1257 enum GL_VERTEX_SHADER_BIT = 0x00000001;
1258 enum GL_FRAGMENT_SHADER_BIT = 0x00000002;
1259 enum GL_ALL_SHADER_BITS = 0xFFFFFFFF;
1260 enum GL_PROGRAM_SEPARABLE = 0x8258;
1261 enum GL_ACTIVE_PROGRAM = 0x8259;
1262 enum GL_PROGRAM_PIPELINE_BINDING = 0x825A;
1263 enum GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1;
1264 enum GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2;
1265 enum GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3;
1266 enum GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC;
1267 enum GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0;
1268 enum GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1;
1269 enum GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2;
1270 enum GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6;
1271 enum GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7;
1272 enum GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8;
1273 enum GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC;
1274 enum GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9;
1275 enum GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB;
1276 enum GL_MAX_IMAGE_UNITS = 0x8F38;
1277 enum GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA;
1278 enum GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE;
1279 enum GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF;
1280 enum GL_IMAGE_BINDING_NAME = 0x8F3A;
1281 enum GL_IMAGE_BINDING_LEVEL = 0x8F3B;
1282 enum GL_IMAGE_BINDING_LAYERED = 0x8F3C;
1283 enum GL_IMAGE_BINDING_LAYER = 0x8F3D;
1284 enum GL_IMAGE_BINDING_ACCESS = 0x8F3E;
1285 enum GL_IMAGE_BINDING_FORMAT = 0x906E;
1286 enum GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001;
1287 enum GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002;
1288 enum GL_UNIFORM_BARRIER_BIT = 0x00000004;
1289 enum GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008;
1290 enum GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020;
1291 enum GL_COMMAND_BARRIER_BIT = 0x00000040;
1292 enum GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080;
1293 enum GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100;
1294 enum GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200;
1295 enum GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400;
1296 enum GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800;
1297 enum GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000;
1298 enum GL_ALL_BARRIER_BITS = 0xFFFFFFFF;
1299 enum GL_IMAGE_2D = 0x904D;
1300 enum GL_IMAGE_3D = 0x904E;
1301 enum GL_IMAGE_CUBE = 0x9050;
1302 enum GL_IMAGE_2D_ARRAY = 0x9053;
1303 enum GL_INT_IMAGE_2D = 0x9058;
1304 enum GL_INT_IMAGE_3D = 0x9059;
1305 enum GL_INT_IMAGE_CUBE = 0x905B;
1306 enum GL_INT_IMAGE_2D_ARRAY = 0x905E;
1307 enum GL_UNSIGNED_INT_IMAGE_2D = 0x9063;
1308 enum GL_UNSIGNED_INT_IMAGE_3D = 0x9064;
1309 enum GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066;
1310 enum GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069;
1311 enum GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7;
1312 enum GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8;
1313 enum GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9;
1314 enum GL_READ_ONLY = 0x88B8;
1315 enum GL_WRITE_ONLY = 0x88B9;
1316 enum GL_READ_WRITE = 0x88BA;
1317 enum GL_SHADER_STORAGE_BUFFER = 0x90D2;
1318 enum GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3;
1319 enum GL_SHADER_STORAGE_BUFFER_START = 0x90D4;
1320 enum GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5;
1321 enum GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6;
1322 enum GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA;
1323 enum GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB;
1324 enum GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC;
1325 enum GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD;
1326 enum GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE;
1327 enum GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF;
1328 enum GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000;
1329 enum GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39;
1330 enum GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA;
1331 enum GL_STENCIL_INDEX = 0x1901;
1332 enum GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E;
1333 enum GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F;
1334 enum GL_SAMPLE_POSITION = 0x8E50;
1335 enum GL_SAMPLE_MASK = 0x8E51;
1336 enum GL_SAMPLE_MASK_VALUE = 0x8E52;
1337 enum GL_TEXTURE_2D_MULTISAMPLE = 0x9100;
1338 enum GL_MAX_SAMPLE_MASK_WORDS = 0x8E59;
1339 enum GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
1340 enum GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
1341 enum GL_MAX_INTEGER_SAMPLES = 0x9110;
1342 enum GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104;
1343 enum GL_TEXTURE_SAMPLES = 0x9106;
1344 enum GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107;
1345 enum GL_TEXTURE_WIDTH = 0x1000;
1346 enum GL_TEXTURE_HEIGHT = 0x1001;
1347 enum GL_TEXTURE_DEPTH = 0x8071;
1348 enum GL_TEXTURE_INTERNAL_FORMAT = 0x1003;
1349 enum GL_TEXTURE_RED_SIZE = 0x805C;
1350 enum GL_TEXTURE_GREEN_SIZE = 0x805D;
1351 enum GL_TEXTURE_BLUE_SIZE = 0x805E;
1352 enum GL_TEXTURE_ALPHA_SIZE = 0x805F;
1353 enum GL_TEXTURE_DEPTH_SIZE = 0x884A;
1354 enum GL_TEXTURE_STENCIL_SIZE = 0x88F1;
1355 enum GL_TEXTURE_SHARED_SIZE = 0x8C3F;
1356 enum GL_TEXTURE_RED_TYPE = 0x8C10;
1357 enum GL_TEXTURE_GREEN_TYPE = 0x8C11;
1358 enum GL_TEXTURE_BLUE_TYPE = 0x8C12;
1359 enum GL_TEXTURE_ALPHA_TYPE = 0x8C13;
1360 enum GL_TEXTURE_DEPTH_TYPE = 0x8C16;
1361 enum GL_TEXTURE_COMPRESSED = 0x86A1;
1362 enum GL_SAMPLER_2D_MULTISAMPLE = 0x9108;
1363 enum GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109;
1364 enum GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A;
1365 enum GL_VERTEX_ATTRIB_BINDING = 0x82D4;
1366 enum GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5;
1367 enum GL_VERTEX_BINDING_DIVISOR = 0x82D6;
1368 enum GL_VERTEX_BINDING_OFFSET = 0x82D7;
1369 enum GL_VERTEX_BINDING_STRIDE = 0x82D8;
1370 enum GL_VERTEX_BINDING_BUFFER = 0x8F4F;
1371 enum GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9;
1372 enum GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA;
1373 enum GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5;
1374 alias PFNGLDISPATCHCOMPUTEPROC = void function (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1375 alias PFNGLDISPATCHCOMPUTEINDIRECTPROC = void function (GLintptr indirect);
1376 alias PFNGLDRAWARRAYSINDIRECTPROC = void function (GLenum mode, const(void)* indirect);
1377 alias PFNGLDRAWELEMENTSINDIRECTPROC = void function (GLenum mode, GLenum type, const(void)* indirect);
1378 alias PFNGLFRAMEBUFFERPARAMETERIPROC = void function (GLenum target, GLenum pname, GLint param);
1379 alias PFNGLGETFRAMEBUFFERPARAMETERIVPROC = void function (GLenum target, GLenum pname, GLint* params);
1380 alias PFNGLGETPROGRAMINTERFACEIVPROC = void function (GLuint program, GLenum programInterface, GLenum pname, GLint* params);
1381 alias PFNGLGETPROGRAMRESOURCEINDEXPROC = uint function (GLuint program, GLenum programInterface, const(GLchar)* name);
1382 alias PFNGLGETPROGRAMRESOURCENAMEPROC = void function (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name);
1383 alias PFNGLGETPROGRAMRESOURCEIVPROC = void function (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const(GLenum)* props, GLsizei bufSize, GLsizei* length, GLint* params);
1384 alias PFNGLGETPROGRAMRESOURCELOCATIONPROC = int function (GLuint program, GLenum programInterface, const(GLchar)* name);
1385 alias PFNGLUSEPROGRAMSTAGESPROC = void function (GLuint pipeline, GLbitfield stages, GLuint program);
1386 alias PFNGLACTIVESHADERPROGRAMPROC = void function (GLuint pipeline, GLuint program);
1387 alias PFNGLCREATESHADERPROGRAMVPROC = uint function (GLenum type, GLsizei count, const(GLchar*)* strings);
1388 alias PFNGLBINDPROGRAMPIPELINEPROC = void function (GLuint pipeline);
1389 alias PFNGLDELETEPROGRAMPIPELINESPROC = void function (GLsizei n, const(GLuint)* pipelines);
1390 alias PFNGLGENPROGRAMPIPELINESPROC = void function (GLsizei n, GLuint* pipelines);
1391 alias PFNGLISPROGRAMPIPELINEPROC = ubyte function (GLuint pipeline);
1392 alias PFNGLGETPROGRAMPIPELINEIVPROC = void function (GLuint pipeline, GLenum pname, GLint* params);
1393 alias PFNGLPROGRAMUNIFORM1IPROC = void function (GLuint program, GLint location, GLint v0);
1394 alias PFNGLPROGRAMUNIFORM2IPROC = void function (GLuint program, GLint location, GLint v0, GLint v1);
1395 alias PFNGLPROGRAMUNIFORM3IPROC = void function (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1396 alias PFNGLPROGRAMUNIFORM4IPROC = void function (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1397 alias PFNGLPROGRAMUNIFORM1UIPROC = void function (GLuint program, GLint location, GLuint v0);
1398 alias PFNGLPROGRAMUNIFORM2UIPROC = void function (GLuint program, GLint location, GLuint v0, GLuint v1);
1399 alias PFNGLPROGRAMUNIFORM3UIPROC = void function (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1400 alias PFNGLPROGRAMUNIFORM4UIPROC = void function (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1401 alias PFNGLPROGRAMUNIFORM1FPROC = void function (GLuint program, GLint location, GLfloat v0);
1402 alias PFNGLPROGRAMUNIFORM2FPROC = void function (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1403 alias PFNGLPROGRAMUNIFORM3FPROC = void function (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1404 alias PFNGLPROGRAMUNIFORM4FPROC = void function (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1405 alias PFNGLPROGRAMUNIFORM1IVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1406 alias PFNGLPROGRAMUNIFORM2IVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1407 alias PFNGLPROGRAMUNIFORM3IVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1408 alias PFNGLPROGRAMUNIFORM4IVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1409 alias PFNGLPROGRAMUNIFORM1UIVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1410 alias PFNGLPROGRAMUNIFORM2UIVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1411 alias PFNGLPROGRAMUNIFORM3UIVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1412 alias PFNGLPROGRAMUNIFORM4UIVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1413 alias PFNGLPROGRAMUNIFORM1FVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1414 alias PFNGLPROGRAMUNIFORM2FVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1415 alias PFNGLPROGRAMUNIFORM3FVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1416 alias PFNGLPROGRAMUNIFORM4FVPROC = void function (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1417 alias PFNGLPROGRAMUNIFORMMATRIX2FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1418 alias PFNGLPROGRAMUNIFORMMATRIX3FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1419 alias PFNGLPROGRAMUNIFORMMATRIX4FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1420 alias PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1421 alias PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1422 alias PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1423 alias PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1424 alias PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1425 alias PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC = void function (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1426 alias PFNGLVALIDATEPROGRAMPIPELINEPROC = void function (GLuint pipeline);
1427 alias PFNGLGETPROGRAMPIPELINEINFOLOGPROC = void function (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
1428 alias PFNGLBINDIMAGETEXTUREPROC = void function (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
1429 alias PFNGLGETBOOLEANI_VPROC = void function (GLenum target, GLuint index, GLboolean* data);
1430 alias PFNGLMEMORYBARRIERPROC = void function (GLbitfield barriers);
1431 alias PFNGLMEMORYBARRIERBYREGIONPROC = void function (GLbitfield barriers);
1432 alias PFNGLTEXSTORAGE2DMULTISAMPLEPROC = void function (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1433 alias PFNGLGETMULTISAMPLEFVPROC = void function (GLenum pname, GLuint index, GLfloat* val);
1434 alias PFNGLSAMPLEMASKIPROC = void function (GLuint maskNumber, GLbitfield mask);
1435 alias PFNGLGETTEXLEVELPARAMETERIVPROC = void function (GLenum target, GLint level, GLenum pname, GLint* params);
1436 alias PFNGLGETTEXLEVELPARAMETERFVPROC = void function (GLenum target, GLint level, GLenum pname, GLfloat* params);
1437 alias PFNGLBINDVERTEXBUFFERPROC = void function (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
1438 alias PFNGLVERTEXATTRIBFORMATPROC = void function (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
1439 alias PFNGLVERTEXATTRIBIFORMATPROC = void function (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
1440 alias PFNGLVERTEXATTRIBBINDINGPROC = void function (GLuint attribindex, GLuint bindingindex);
1441 alias PFNGLVERTEXBINDINGDIVISORPROC = void function (GLuint bindingindex, GLuint divisor);
1442 void glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1443 void glDispatchComputeIndirect (GLintptr indirect);
1444 void glDrawArraysIndirect (GLenum mode, const(void)* indirect);
1445 void glDrawElementsIndirect (GLenum mode, GLenum type, const(void)* indirect);
1446 void glFramebufferParameteri (GLenum target, GLenum pname, GLint param);
1447 void glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint* params);
1448 void glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint* params);
1449 GLuint glGetProgramResourceIndex (GLuint program, GLenum programInterface, const(GLchar)* name);
1450 void glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name);
1451 void glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const(GLenum)* props, GLsizei bufSize, GLsizei* length, GLint* params);
1452 GLint glGetProgramResourceLocation (GLuint program, GLenum programInterface, const(GLchar)* name);
1453 void glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
1454 void glActiveShaderProgram (GLuint pipeline, GLuint program);
1455 GLuint glCreateShaderProgramv (GLenum type, GLsizei count, const(GLchar*)* strings);
1456 void glBindProgramPipeline (GLuint pipeline);
1457 void glDeleteProgramPipelines (GLsizei n, const(GLuint)* pipelines);
1458 void glGenProgramPipelines (GLsizei n, GLuint* pipelines);
1459 GLboolean glIsProgramPipeline (GLuint pipeline);
1460 void glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint* params);
1461 void glProgramUniform1i (GLuint program, GLint location, GLint v0);
1462 void glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
1463 void glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1464 void glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1465 void glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
1466 void glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
1467 void glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1468 void glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1469 void glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
1470 void glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1471 void glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1472 void glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1473 void glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1474 void glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1475 void glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1476 void glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const(GLint)* value);
1477 void glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1478 void glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1479 void glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1480 void glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value);
1481 void glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1482 void glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1483 void glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1484 void glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value);
1485 void glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1486 void glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1487 void glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1488 void glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1489 void glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1490 void glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1491 void glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1492 void glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1493 void glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value);
1494 void glValidateProgramPipeline (GLuint pipeline);
1495 void glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
1496 void glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
1497 void glGetBooleani_v (GLenum target, GLuint index, GLboolean* data);
1498 void glMemoryBarrier (GLbitfield barriers);
1499 void glMemoryBarrierByRegion (GLbitfield barriers);
1500 void glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1501 void glGetMultisamplefv (GLenum pname, GLuint index, GLfloat* val);
1502 void glSampleMaski (GLuint maskNumber, GLbitfield mask);
1503 void glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint* params);
1504 void glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat* params);
1505 void glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
1506 void glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
1507 void glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
1508 void glVertexAttribBinding (GLuint attribindex, GLuint bindingindex);
1509 void glVertexBindingDivisor (GLuint bindingindex, GLuint divisor);
1510 
1511 /* GL_ES_VERSION_3_1 */
1512